import com.troyworks.framework.logging.LogLevel;
/**
 * @author Troy Gardner
 */
class com.troyworks.framework.logging.Logger {

	public static var ALL : Number = 10;
	public static var SEVERE : Number = 9;
	public static var WARNING : Number = 8;
	public static var INFO : Number = 7;
	public static var DEBUG : Number = 6;
	public static var CONFIG : Number = 5;
	public static var FINE : Number = 4;
	public static var FINER : Number = 3;
	public static var FINEST : Number = 2;
	public static var OFF : Number = 0;

	private var _sName : String;
 // private var _lmInstance:LogManager;
	private function Logger(sName : String) {
		_sName = sName;
  ///  _lmInstance = LogManager.getLogManager();
  }

 /* public static function getLogger(sName:String):Logger {
 //   var lmInstance:LogManager = LogManager.getLogManager();
 //   var lInstance:Logger = lmInstance.getLogger(sName);
    if(lInstance != undefined) {
      return lInstance;
    }
    else {
      lInstance = new Logger(sName);
      lmInstance.addLogger(lInstance);
      return lInstance;
    }
  }*/

	public function getName() : String {
		return _sName;
  }

	public function fatal(sMessage : String) : Void {
		logLevel(LogLevel.FATAL, sMessage, _sName);

  }
	public function severe(sMessage : String) : Void {
		logLevel(LogLevel.SEVERE, sMessage, _sName);

  }
	public function flash_error(sMessage : String) : Void {
		logLevel(LogLevel.FLASH_ERROR, sMessage, _sName);

  }
	public function warning(sMessage : String) : Void {
		logLevel(LogLevel.WARNING, sMessage, _sName);
  }

	public function info(sMessage : String) : Void {
		logLevel(LogLevel.INFO, sMessage, _sName);
  }

	public function debug(sMessage : String) : Void {
		logLevel(LogLevel.DEBUG, sMessage, _sName);

  }
  //////////////////////////////////////////////////
	public function startSig(sMessage : String) : Void {
		logLevel(LogLevel.START, sMessage, _sName);

  }
	public function endSig(sMessage : String) : Void {
		logLevel(LogLevel.END, sMessage, _sName);

  }
    //////////////////////////////////////////////////
	public function highlight(sMessage : String) : Void {
		logLevel(LogLevel.HILIGHT_YELLOW, sMessage, _sName);

  }
	public function logBreak() : Void{
	}
	public function clearLog() : Void{
	}
///////////////////////////////////////////////////////////
	public function log(nLevel : Number, sMessage : String) : Void {
   // log(INFO, sMessage, _sName);

  }
	public function logLevel(nLevel : LogLevel, sMessage : String, sName : String) : Void{
  	
  }
}